Calculate_ILU_preconditioner Subroutine

public subroutine Calculate_ILU_preconditioner(A, L, U, omega, alpha)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in), DIMENSION(:, :) :: A
real(kind=dp), intent(out), DIMENSION(SIZE(A, 1), SIZE(A, 2)) :: L
real(kind=dp), intent(out), DIMENSION(SIZE(A, 1), SIZE(A, 2)) :: U
real(kind=dp), intent(in) :: omega
real(kind=dp), intent(in) :: alpha

Calls

proc~~calculate_ilu_preconditioner~~CallsGraph proc~calculate_ilu_preconditioner Calculate_ILU_preconditioner proc~ilu_decomposition ILU_decomposition proc~calculate_ilu_preconditioner->proc~ilu_decomposition proc~identity_n Identity_n proc~ilu_decomposition->proc~identity_n

Source Code

    SUBROUTINE Calculate_ILU_preconditioner(A, L, U, omega, alpha)
        REAL(dp), DIMENSION(:, :), INTENT(IN) :: A
        REAL(dp), INTENT(IN) :: omega, alpha
        REAL(dp), DIMENSION(SIZE(A, 1), SIZE(A, 2)), INTENT(OUT) :: L, U
        INTEGER :: N

        N = SIZE(A, 1)

        L = 0.d0
        U = 0.d0

        CALL ILU_decomposition(A, L, U)
        
        L = alpha / omega * L

    END SUBROUTINE Calculate_ILU_preconditioner